home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 551-575 / disk_563 / menu2asm / menu2asm.dok < prev    next >
Text File  |  1992-05-06  |  4KB  |  86 lines

  1. ======================================================================
  2.  Dokumentation zum Modul Menu2Asm  04-Jun-91  Jürgen Zimmermann
  3.  Autor: Jürgen Zimmermann, Ringstr. 6, W-6719 Altleiningen, Deutschland
  4. ======================================================================
  5.  
  6. Kopierrecht
  7. ===========
  8. Das komplette Packet (Quelltext, Dokumentation und Objektcode) ist
  9. Freeware. Es darf beliebig kopiert und verbreitet werden
  10. solange...
  11.  
  12. * mein Name und dieser Kopierrechtshinweis erhalten bleiben,
  13. * die Vollständigkeit des ganzen Packets gewährleistet ist, und
  14. * mit dem Vertrieb dieser Software kein Gewinn erwirtschaftet wird.
  15.  
  16. Verbesserungsvorschläge sind stets willkommen. Falls Ihr Veränderungen
  17. am Programm vornehmt, dokumentiert diese bitte gut verständlich.
  18. Es würde mich freuen, wenn Ihr mich über größere Veränderungen in
  19. Kenntnis setzen würden. Weiterhin bitte ich Euch, mir einen ausführlichen
  20. Bug-Report zu schreiben, wenn irgenein Fehler auftreten sollte, damit ich
  21. mich an die Verbesserung des Moduls machen kann.
  22.  
  23.  
  24. Umfang des Packets
  25. ==================
  26. Das komplette Packet "Menu2Asm" beinhaltet folgendes:
  27.  
  28. *  Menu2Asm.dok   Diese Dokumentation
  29. *  Menu2Asm.mod   Der Quelltexte des Moduls
  30. *  Menu2Asm.def   Die Definition des Moduls
  31. *  -.obj + -.sym  Die Objekt- bzw. Symboldatei des Moduls
  32.  
  33.  
  34. Zu "Menu2Asm"
  35. ====================
  36. Das Modul "Menu2Asm" ermöglicht es, mit dem neuen Modula-2-Compiler
  37. M2Amiga V4.0d fertig initialisierte Menüs zu erstellen, die dann in das
  38. Endprogramm gelinkt werden, ohne daß man noch zusätzlichen Quelltext für
  39. den Aufbau des Menüs benötigt.
  40.  
  41. Die Erstellung eines Menüs ist denkbar einfach: Nachdem man im eigenen
  42. Programm ein Menü erzeugt hat und dieses mittels IntuitionL.SetMenuStrip an
  43. ein Window installiert hat, ruft man die Prozedur Menu2Asm.MakeMenu2Asm(Zeiger
  44. auf das Window) auf. Danach erscheint auf dem Workbench-Screen ein
  45. neues Window (bei Workbenchstart des eigenen Programms) oder im CLI/SHELL eine
  46. Titelzeile, in der der Name incl. Pfad der Zieldateien erfragt wird. Eine an den
  47. Filenamen angehängte Erweiterung (z.B. ".hallo") wird vom Programm ignoriert.
  48. Das Modul schreibt nun sowohl ein Definitions- als auch ein Implementations-
  49. modul in das gewünschte Verzeichnis. Weiterhin wird noch eine Datei mit dem
  50. Namen "PrgName"+"Asm.asm" erzeugt, die den A68k-kompatiblen Quelltext für das
  51. Menü in Assembler enthält. Der Quelltext muß mit einem anderen Assembler als
  52. dem des M2Amiga assembliert werden, da dieser z.Zt. keine veränderbaren Daten
  53. unterstützt. Alles, was man jetzt noch machen muß, ist das Compilieren der
  54. -.def bzw. -.mod-Datei sowie das Assemblieren der -.asm-Datei. Zu beachten
  55. ist, daß die Objektdatei nach dem Assemblieren den gleichen Namen hat wie
  56. die -.asm-Datei, jedoch mit der Erweiterung ".obj" versehen ist und sich vor
  57. dem Linken im Verzeichnis "obj/" befindet, sofern ein solches angelegt ist,
  58. damit der Linker sie findet.
  59.  
  60. Das Menü wird jetzt einfach so benutzt, indem man den Zeiger auf das Menü aus
  61. dem Modul importiert und direkt an "IntuitionL.SetMenuStrip" übergibt.
  62. Die zeit- und speicheraufwendige Initialsierung der Menüstruktur kann man
  63. nun aus dem eigenen Programm verbannen (aber bitte nicht löschen, für zukünftige
  64. Änderungen). Das Menü in Assembler sollte nur am Ende einer Programmierphase
  65. stehen, da das Ändern im Modula-2-Quelltext sehr viel bequemer ist (besonders
  66. mit Hilfe von m2make!).
  67.  
  68.  
  69. Für diejenigen unter Euch, die keine Mühe scheuen:
  70. Man kann sich die beiden von Menu2Asm erzeugten Modula-2-Module auch schenken,
  71. indem man einfach die Variablenzeile aus dem Definitionsmodul in das eigene
  72. Modul integriert (auf keinen Fall die Zeile ändern!) und die beiden Module
  73. löscht (spart den Code für das leere Implementationsmodul, ca. 80 Bytes).
  74. Dies entspricht meiner eigentlichen Absicht, aber für Eilige habe ich die
  75. andere Funktion integriert!
  76.  
  77.  
  78.  
  79. Viel Spaß noch bei eigenen Menüs
  80.  
  81.  
  82.    Euer
  83.  
  84.       Jürgen
  85.